[PATCH 6/7] bgo543308 - Only compute a font-based size if we are in expanded mode...
authorFederico Mena Quintero <federico@novell.com>
Wed, 20 Aug 2008 01:12:54 +0000 (01:12 +0000)
committerFederico Mena Quintero <federico@src.gnome.org>
Wed, 20 Aug 2008 01:12:54 +0000 (01:12 +0000)
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=21167

gtk/gtkfilechooserdefault.c

index 89a5075e57d79fdfe1bf0620c3c6fd6ddb655800..50e3810a69642fcf408f9bae3ba8673119868718 100644 (file)
@@ -7806,21 +7806,33 @@ gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
   GtkRequisition req;
 
   impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
-  find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
 
-  if (impl->preview_widget_active &&
-      impl->preview_widget &&
-      GTK_WIDGET_VISIBLE (impl->preview_widget))
+  if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
+      || impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER
+      || impl->expand_folders)
     {
-      gtk_widget_size_request (impl->preview_box, &req);
-      *default_width += PREVIEW_HBOX_SPACING + req.width;
-    }
+      find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
 
-  if (impl->extra_widget &&
-      GTK_WIDGET_VISIBLE (impl->extra_widget))
+      if (impl->preview_widget_active &&
+         impl->preview_widget &&
+         GTK_WIDGET_VISIBLE (impl->preview_widget))
+       {
+         gtk_widget_size_request (impl->preview_box, &req);
+         *default_width += PREVIEW_HBOX_SPACING + req.width;
+       }
+
+      if (impl->extra_widget &&
+         GTK_WIDGET_VISIBLE (impl->extra_widget))
+       {
+         gtk_widget_size_request (impl->extra_align, &req);
+         *default_height += GTK_BOX (chooser_embed)->spacing + req.height;
+       }
+    }
+  else
     {
-      gtk_widget_size_request (impl->extra_align, &req);
-      *default_height += GTK_BOX (chooser_embed)->spacing + req.height;
+      gtk_widget_size_request (GTK_WIDGET (impl), &req);
+      *default_width = req.width;
+      *default_height = req.height;
     }
 }